home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Personal Computer World 2005 October
/
PCWOCT05.iso
/
Software
/
FromTheMag
/
XAMPP 1.4.14
/
xampp-win32-1.4.14-installer.exe
/
xampp
/
php
/
pear
/
Crypt
/
XteaTest.php
< prev
Wrap
PHP Script
|
2004-03-24
|
4KB
|
107 lines
<?php
/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
//
// +----------------------------------------------------------------------+
// | PHP version 4.0 |
// +----------------------------------------------------------------------+
// | Copyright (c) 2002 The PHP Group |
// +----------------------------------------------------------------------+
// | This source file is subject to version 2.02 of the PHP license, |
// | that is bundled with this package in the file LICENSE, and is |
// | available at through the world-wide-web at |
// | http://www.php.net/license/2_02.txt. |
// | If you did not receive a copy of the PHP license and are unable to |
// | obtain it through the world-wide-web, please send a note to |
// | license@php.net so we can mail you a copy immediately. |
// +----------------------------------------------------------------------+
// | Authors: Jeroen Derks <jeroen@derks.it> |
// +----------------------------------------------------------------------+
//
// $Id: XteaTest.php,v 1.6 2002/09/03 11:04:08 jeroend Exp $
/** Xtea class */
require_once( 'Xtea.php' );
/** phpUnit classes */
require_once( 'PHPUnit/PHPUnit.php' );
/** Benchmarking */
require_once( 'Benchmark/Timer.php' );
/**
* Tester class for Xtea class.
*
* @package Crypt::Test
* @access public
*
* @version $Revision: 1.6 $
* @since 2002/Aug/28
* @author Jeroen Derks <jeroen@derks.it>
*/
class Crypt_XteaTest extends PHPUnit_TestCase
{
var $obj;
var $data;
var $key;
function Crypt_XteaTest($method) {
$this->PHPUnit_TestCase($method);
}
function setUp() {
$this->obj = new Crypt_Xtea;
$this->key = '0123456789abcdeffedcba9876543210';
//$this->data = '1'; return;
//$this->data = '01234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'; return;
$this->data = '';
for ($i = 0; $i < 256; ++$i) {
$this->data .= chr($i & 0xff);
}
}
function testIter() {
$this->obj->setIter(36);
$this->assertEquals(36, $this->obj->getIter());
}
function testCrypt() {
$timer =& new Benchmark_Timer();
$timer->start();
for ( $i = 0; $i < strlen( $this->data ); ++$i )
{
$timer->setMarker('data');
$data = substr( $this->data, 0, $i );
$timer->setMarker('encryption');
$encrypted = $this->obj->encrypt($data, $this->key);
$timer->setMarker('decryption');
$decrypted = $this->obj->decrypt($encrypted, $this->key);
$timer->setMarker('assert');
$this->assertEquals(strlen($data), strlen($decrypted));
$this->assertEquals($data, $decrypted, "run $i failed: expected '***' (".strlen($data)."), actual '***' (".strlen($decrypted).")" );
}
/*
set_time_limit(99999);
$timer->setMarker('data');
$data = '';
for( $i = 0; $i < 1024 * 1024; ++$i )
$data .= chr($i & 0xff);
$timer->setMarker('encryption');
$encrypted = $this->obj->encrypt($data, $this->key);
$timer->setMarker('decryption');
$decrypted = $this->obj->decrypt($encrypted, $this->key);
$this->assertEquals(strlen($data), strlen($decrypted));
$this->assertEquals($data, $decrypted, "run $i failed: expected '***' (".strlen($data)."), actual '***' (".strlen($decrypted).")" );
*/
// make sure benchmarking output on destruction
$timer->auto = true;
}
function tearDown() {
$this->obj = NULL;
}
}
?>